package com.example.hosptial.service;

import com.example.hosptial.model.enity.Bed;
import java.util.List;
import java.util.Map;

public interface BedService {
    /**
     * 添加新病床
     * @param wardId 病房ID
     * @return 新增的病床实体
     */
    Bed addBed(Integer wardId);

    /**
     * 获取病房的所有床位
     * @param wardId 病房ID
     * @return 床位列表
     */
    List<Bed> getWardBeds(Integer wardId);

    /**
     * 获取所有空闲床位
     * @return 空闲床位列表
     */
    List<Bed> getAvailableBeds();

    /**
     * 更新床位状态
     * @param bedId 床位ID
     * @param status 新状态
     */
    void updateBedStatus(Integer bedId, Integer status);

    /**
     * 根据科室ID获取病房列表
     * @param deptId 科室ID（可选）
     * @return 病房信息列表
     */
    List<Map<String, Object>> getWardsByDepartment(Integer deptId);

    /**
     * 获取病房详细信息，包括床位和病人信息
     * @param wardId 病房ID
     * @return 床位详细信息列表
     */
    List<Map<String, Object>> getWardBedDetails(Integer wardId);

    /**
     * 获取病房的护士信息
     * @param wardId 病房ID
     * @return 护士信息列表
     */
    List<Map<String, Object>> getWardNurses(Integer wardId);
}